package com.ruoyi.project.comp.file.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;

/**
 * 作品文件对象 comp_work_file
 *
 * @author ruoyi
 * @date 2025-11-02
 */
        public class CompWorkFile extends BaseEntity
        {
        private static final long serialVersionUID = 1L;

                /** 文件ID，自增主键 */
        private Long id;

                /** 关联作品ID */
                @Excel(name = "关联作品ID")
        private Long workId;

                /** 文件类型（如“微情景剧本”“微情景视频”等） */
                @Excel(name = "文件类型", readConverterExp = "如=“微情景剧本”“微情景视频”等")
        private String fileType;

                /** 文件存储路径 */
                @Excel(name = "文件存储路径")
        private String filePath;

                /** 文件大小（单位：MB） */
                @Excel(name = "文件大小", readConverterExp = "单=位：MB")
        private BigDecimal fileSize;

                /** 上传时间 */
                @JsonFormat(pattern = "yyyy-MM-dd")
                @Excel(name = "上传时间", width = 30, dateFormat = "yyyy-MM-dd")
        private Date uploadTime;


                private String objectKey;



        // ====================================== 自定义字段开始 ======================================
        // 在此处添加的自定义字段，重新生成代码时不会被覆盖
        // 示例：
        // private String customField; // 自定义扩展字段
        // ====================================== 自定义字段结束 ======================================


        // ====================================== 自定义方法开始 ======================================
        // 在此处添加的自定义getter/setter或其他方法，重新生成代码时不会被覆盖
        // 示例：
        // public String getCustomField() { return customField; }
        // public void setCustomField(String customField) { this.customField = customField; }
        // ====================================== 自定义方法结束 ======================================


                public void setId(Long id)
                {
                    this.id = id;
                }

                public Long getId()
                {
                    return id;
                }
                public void setWorkId(Long workId)
                {
                    this.workId = workId;
                }

                public Long getWorkId()
                {
                    return workId;
                }
                public void setFileType(String fileType)
                {
                    this.fileType = fileType;
                }

                public String getFileType()
                {
                    return fileType;
                }
                public void setFilePath(String filePath)
                {
                    this.filePath = filePath;
                }

                public String getFilePath()
                {
                    return filePath;
                }
                public void setFileSize(BigDecimal fileSize)
                {
                    this.fileSize = fileSize;
                }

                public BigDecimal getFileSize()
                {
                    return fileSize;
                }
                public void setUploadTime(Date uploadTime)
                {
                    this.uploadTime = uploadTime;
                }

                public Date getUploadTime()
                {
                    return uploadTime;
                }

                public String getObjectKey() {
                        return objectKey;
                }

                public void setObjectKey(String objectKey) {
                        this.objectKey = objectKey;
                }

        @Override
        public String toString() {
            return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("workId", getWorkId())
                .append("fileType", getFileType())
                .append("filePath", getFilePath())
                .append("fileSize", getFileSize())
                .append("uploadTime", getUploadTime())
                    // ====================================== 自定义toString开始 ======================================
                    // 手动添加自定义字段的toString内容，例如：
                    // .append("customField", getCustomField())
                    // ====================================== 自定义toString结束 ======================================
                    .toString();
        }
}